As computer hardware and software technology continues to progress, the need for larger and faster mass storage devices for storing computer software and data continues to increase. Electronic databases and computer applications such as multimedia applications require large amounts of disk storage space.
To meet these ever increasing demands, the hard disk drive (HDD) continues to evolve and advance. Some of the early disk drives had a maximum storage capacity of five megabytes and used fourteen inch platters, whereas today's HDDs are commonly over one gigabyte and use 3.5 inch platters. Advances in the amount of data stored per unit of area, or areal density, have dramatically accelerated. For example, in the 1980's, areal density increased about thirty percent per year while in the 1990's annual areal density increases have been around sixty percent. Areal density may be increased by increasing the rate at which data may be stored and retrieved. The cost per megabyte of an HDD is inversely related to its areal density.
In general, mass storage devices and systems, such as HDDs, include a magnetic storage media, such as rotating disks or platters, a spindle motor, read/write heads, an actuator, a pre-amplifier, a read channel, a write channel, a servo controller, a memory, and control circuitry to control the operation of the HDD and to properly interface the HDD to a host or system bus. The read channel, write channel, servo controller, and memory may all be implemented as one integrated circuit that is referred to as a data channel. Some of the more advanced HDDs may be implemented in mixed-mode circuitry. The control circuitry often includes a microprocessor for executing control programs or instructions during the operation of the HDD.
An HDD performs write, read, and servo operations when storing and retrieving data. As the disk platters are moving, the read/write heads must align or stay on a particular track. This is accomplished by reading information from the disk called a servo wedge. Generally, each sector has a corresponding servo wedge. The servo wedge indicates the position of the heads. The data channel receives this position information so the servo controller can continue to properly position the heads on the track.
A typical HDD performs a write operation by transferring data from a host interface to its control circuitry. The control circuitry then stores the data in a local dynamic random access memory (DRAM). A control circuitry processor schedules a series of events to allow the information to be transferred to the disk platters through a write channel. The read/write heads are moved to the appropriate track and sector. Finally, the HDD control circuitry transfers the data from the DRAM to the sector using the write channel. A sector generally has a fixed data storage capacity, such as 512 bytes of user data per sector. A write clock controls the timing of a write operation in the write channel. The write channel may encode the data so that the data can be more reliably retrieved later.
In a read operation, the appropriate sector to be read is located and data that has been previously written to the disk is read. A read/write head senses the changes in the magnetic flux of the disk platter and generates a corresponding analog read signal. The read channel receives the analog read signal, conditions the signal, and detects "zeros" and "ones" from the signal. The read channel conditions the signal by amplifying the read signal to an appropriate level using an automatic gain control circuit. The read channel then filters the signal, to eliminate unwanted high frequency noise, equalizes the channel, detects "zeros" and "ones" from the signal, and formats the binary data for the control circuitry. The binary or digital data is then transferred from the read channel to the control circuitry and is stored in the DRAM. The processor then communicates to the host that data is ready to be transferred. A read clock controls the timing of a read operation in the read channel. The goal during a read operation is to accurately retrieve the data with the lowest bit error date (BER) in the noisiest environment.
Traditional HDD read channels used a technique known as peak detection for extracting or detecting digital information from the analog information stored on the magnetic media. In this technique, the waveform is simply level detected and if the waveform level is above a threshold during a sampling window, the data is considered a "one." More recently, advanced techniques utilizing discrete time signal processing (DTSP) to reconstruct the original data written to the disk are being used in read channel electronics to improve areal density. In these techniques, the data is synchronously sampled using a data recovery clock. The sample is then processed through a series of mathematical manipulations using signal processing theory.
There are several types of synchronously sampled data (SSD) channels using DTSP. Partial response, maximum likelihood (PRML); extended PRML (EPRML); enhanced, extended PRML (EEPRML); fixed delay tree search (FDTS); and decision feedback equalization (DFE) are several examples of different types of SSD channels using DTSP techniques. The maximum likelihood detection performed in several of these read channels is usually performed by a Viterbi decoder implementing the Viterbi algorithm, named after Andrew Viterbi who developed it in 1967.
The function of the automatic gain control circuit, used in the read channels of DTSP systems, is to generate an appropriate output gain signal that will be used to amplify the analog read signal during a read operation so that the read signal may be efficiently and accurately analyzed by the read channel. The automatic gain control circuit may be part of a continuous-time and a sampled time control loop and may generate a gain signal. The automatic gain control circuit first generates a gain signal as part of the continuous-time control loop and later generates the gain signal as part of the sampled time control loop. When transitioning from the continuous-time control loop to the sampled time control loop, the gain signal should remain somewhat constant, otherwise, data errors may result.
The automatic gain control circuit often uses peak tracking techniques to establish an appropriate gain to be applied to the read signal. Peak tracking involves following the peak of the read signal and calculating a corresponding output gain signal in response. For example, if the peak is too high, the output gain signal is reduced, and if the peak is too low, the output gain signal is increased. Peak tracking does not provide the desired acquisition speed needed in high performance HDD systems.
Peak tracking also suffers the added disadvantage of gain overshoot and undershoot when read signals are provided having non-sinusoidal waveforms. The overshoot and undershoot harms overall HDD performance by increasing the time needed by the automatic gain control circuitry to reach steady state and to provide the appropriate gain. The problem of overshoot and undershoot is especially troubling in more advanced mass storage systems using magneto-resistive heads. Such advanced systems include those utilizing DTSP to reconstruct the original data written to the disk. The magneto-resistive heads often used in these systems provide read signals having non-sinusoidal waveforms causing the automatic gain control circuit to overshoot and undershoot. To compensate for such problems, the automatic gain control circuit must be given more time to determine the appropriate gain. This added time means that more of the HDD capacity must be dedicated to providing header information including an automatic gain control signal. As a consequence, overall HDD capacity is reduced because the remaining available capacity for user data storage is reduced.
In a typical automatic gain control circuit, the time required to acquire the output gain signal is necessarily limited by the control loop response times of the various control loops of the automatic gain control circuit. This adversely increases the time required to generate and acquire the output gain signal. The increased time decreases overall HDD capacity that may be dedicated to user data.